// pages/convey/index.js
let App = getApp()
import Toast from '../../dist/toast/toast';

Page({
	data: {
		imgTempPath: '',
		word: '',
		pic_type: 0,
		pic_typeArray: ['篆书', '隶书', '楷书', '行书', '草书'],
	},

	wordInput (e) {
		this.setData({word: e.detail})
	},

	typeSelect (e) {
		this.setData({pic_type: parseInt(e.detail.value)})
	},

	chooseImg () {
		wx.chooseImage({
			count: 1,
			sizeType: ['original', 'compressed'],
  		sourceType: ['album', 'camera'],
			success: res=> {
				// tempFilePaths可以作为img标签的src属性显示图片
				const tempFilePaths = res.tempFilePaths
				// console.log(tempFilePaths)
				this.setData({imgTempPath: tempFilePaths[0]})
			},
			complete: (res) => {},
		})
	},

	formSubmit () {
		let _this = this;

		if (_this.data.imgTempPath === '') {
			App.showError("未拍照或选择本地图片")
			return false
		}

		console.log(_this.data.word)
		console.log(typeof _this.data.word)
	
		if (require("../../utils/util").verifyNotEmpty(_this.data.word) && require("../../utils/util").verifyChinese(_this.data.word)) {
			wx.uploadFile({
				url: App.api_root + 'dic/upload/word', 
				filePath: _this.data.imgTempPath,
				name: 'img',
				formData: {
					code: wx.getStorageSync('openId'),
					word: _this.data.word,
					pic_type: _this.data.pic_type
				},
				// 接口调用成功的回调函数，404 500等属于服务器返回的HTTP状态码，这是接口成功调用才能有得，在success函数内
				success (res) {
					if (res.statusCode !== 200) {
						App.showError(res.statusCode)
					} else {
						const returnData = JSON.parse(res.data)
						if (returnData.status !== 200) {
							App.showError(returnData.msg)
						} else {
							App.showSuccess("谢谢您的上传！")
						}
					}
				},
				// 接口调用失败的回到函数，这里存在一个逻辑，就是产品只能是测试通过才会上线生产嘛，那这样的话接口调用失败的原因只可能是用户网络的问题或服务器宕机了
				fail: res => {
					App.showError("上传失败，请检查您的网络或联系我们", false)
					console.log(res.detail)
				}
			}) 
		} else {  // 输入非法
			_this.setData({word: ''})
		}
	},

	formReset () {
		this.setData({imgTempPath: '', word: ''})
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
 
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})